' This program exported from BASIC Anywhere Machine (Version [5.2.3].[2023.10.26.02.14]) on 2023.10.29 at 15:45 (Coordinated Universal Time)
' BASIC Anywhere Machine program by Charlie Veniot
' Implementation of the famous (C-64) pattern "10 PRINTCHR$(205.5+RND(1));:GOTO10" but with a column-wise, i.e. vertical structure.
' Primarily sticking to GW-BASIC compatible statements
'   Exceptions:
'     * _LETCHR$ (to define custom characters)
'     * SCROLL (to scroll the screen, as per "The BASIC handbook : encyclopedia of the BASIC computer language (3rd Edition)" )

050 SCREEN 7
150 _LETCHR$(205 , _
    "X......." + _
    ".X......" + _
    "..X....." + _
    "...X...." + _
    "....X..." + _
    ".....X.." + _
    "......X." + _
    ".......X")
    
151 _LETCHR$(206 , _
    ".......X" + _
    "......X." + _
    ".....X.." + _
    "....X..." + _
    "...X...." + _
    "..X....." + _
    ".X......" + _
    "X.......")

200 FOR X = 1 TO 40
210   FOR Y = 1 TO 25
220     IF NOT( X = 40 AND Y = 25 ) THEN LOCATE Y,X : PRINT CHR$( 205 + INT(RND*2) ); : SLEEP 0.01
230   NEXT Y
240 NEXT X

500 SCROLL -8, 0, 0
510 LOCATE 25,39 : PRINT CHR$( 205 + INT(RND*2) ); : SLEEP 0.01
520 FOR Y = 1 TO 24
530   LOCATE Y,40 : PRINT CHR$( 205 + INT(RND*2) ); : SLEEP 0.01
540 NEXT Y
550 GOTO 500